package com.qf.day13;

import java.util.*;

/**
 * 利用hashmap计算两数之和
 */
public class HashMapDemo02 {

    public static void main(String[] args) {

        // 这个数组中是否存在两个数的和为10 ，如果存在，把这个两个数的下标返回
        int[] arr = {2,3,5,8,4};

        List<Integer> result =  dealArr(arr);

        System.out.println(result);

    }

    private static List<Integer> dealArr(int[] arr) {
        HashMap<Integer, Integer> map = new HashMap<>();
        map.put(2,0);
        map.put(3,1);
        map.put(5,2);
        map.put(8,3);
        map.put(4,4);
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < arr.length; i++) {
            int value = arr[i];
            int target =10 - value;
            if (map.containsKey(target)){
            //找到了符合条件的元素
                list.add(i);
                list.add(target);
                return list;

        }
            map.put(arr[i],i);
        }
    return null;
        }}